home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 4 / The 640 Meg Shareware Studio CD-ROM Volume IV (Data Express)(1994).ISO / clang / 114_01.zip / REVIEW.DOC < prev    next >
Text File  |  1993-06-01  |  5KB  |  113 lines

  1.  
  2.  
  3.  
  4. The Ream Screen Editor - BDS-C Version
  5.  
  6. Reviewed by Nick Hammond
  7.  
  8.           The January 1982 edition of Dr Dobbs Journal (if you
  9. don't read it, stop whatever you are doing now and take out
  10. a subscription) carried an article by Edward K Ream, describing
  11. his screen editor written in Small C and available from the
  12. BDS-C Users Group for those like me who were too lazy to
  13. type it in.  The Group is now offering a slightly modified
  14. version compatible with Leor Zolman's BDS-C compiler.
  15. The new version offers simpler compilation and faster operation
  16. without loosing any of the power or advantages of the original
  17. editor.
  18.  
  19. Compilation
  20.  
  21.           This is straightforward.  The BDS
  22. compiler is used to compile each of the nine sub-files which
  23. make up the program (actually there are more than 9 but the
  24. remainder are #included).  CLINK is then used to link the
  25. resulting .CRL files and the runtime library.  The disk
  26. contains two SUBMIT files to do this and I have added an
  27. 'idiots guide' giving step by step instructions on what files
  28. must be on what disks before you start.
  29.  
  30.           It is possible to compile the editor using
  31. a single disk system since there is room for the source
  32. .CRL and .COM files on one eight inch single density drive with
  33. the compiler or linker.  The Small C version could be done on a
  34. single drive but it would be a major task - the .ASM and .HEX
  35. files alone require over 200K and you would be forever swapping
  36. disks during the process.
  37.  
  38.           Apart from space, the BDS compiler is considerably
  39. quicker.  On my slow 2MHz Z80 system (but with track buffered
  40. drives) the whole process took around 15 minutes as compared
  41. with over 30 for Small C.  This is not really important if you
  42. are just going to compile the editor and use it.  If you have
  43. changes in mind, however, the additional speed and the ability 
  44. to separately compile and link modules will make life much
  45. easier.
  46.  
  47. Changes
  48.  
  49.           The changes to the editor to produce compatibility
  50. with BDS-C are relatively minor - adaption for #includeing
  51. the global #defines and the external declarations as header
  52. files with BDSCIO.H to allow separate compilation of each
  53. module and some small syntactical changes.  It is a tribute
  54. to the utility of both compilers that such a change
  55. can be relatively easily made.
  56.  
  57.           One of the syntactic changes was to replace the
  58. bitwise operators & and | with the connectives && and ||
  59. in relational expressions.  This caused me to discover what
  60. appears to be an error in the Version 1.41a BDS-C compiler
  61. or runtime package I was using.  Number() in ED9.BDS contains
  62. the expression ((c<'0')|(c>'9')) and in the review copy the
  63. | had not been replaced by ||.  The compiled editor would
  64. not accept numeric arguments, thus disabling the goto <line>
  65. function, until I had changed the operator to || and
  66. recompiled the offending module.
  67.  
  68.           Since the result of either operation should be
  69. identical, this appears to be an error in version 1.41a.
  70. As the editor documentation advertised it for use with
  71. a version 1.43 or later compiler, this error has presumably
  72. been fixed.  I have, however, changed the remaining
  73. bitwise operators to their more efficient alternative where
  74. applicable.
  75.  
  76. Performance
  77.  
  78.           The size of the compiled .COM file was almost exactly
  79. the same in the two versions.  The BDS version is 23K and the
  80. Small C version 22.5K.  Performance, however, gives the edge
  81. to BDS.  I did only some very cursory measurements, but the
  82. BDS version appears to run about 25% faster for CPU bound
  83. functions.  Since they are both slow, this is important.  For
  84. example, it took my steam powered Z80 14 seconds to search for
  85. a single character through the ED10 file with BDS but 19 with
  86. Small C - both of these are too slow but that extra five
  87. seconds seems very long.  In his DDJ article, Ed Ream
  88. recommends a 4MHz processor and I concur.
  89.  
  90.           I don't intend to say anything about the operating
  91. characteristics of the editor for the simple reason that
  92. text editors are a subject, like religion, surrounded by
  93. mystical beliefs and dogma and totally unsuited to
  94. rational discussion.  Like any other editor, You will either
  95. love it or hate it but in this case you do have a choice.
  96. Since Ed has generously placed the source code
  97. in the public domain, you can change it!  More important - 
  98. because he has provided well designed and documented
  99. code, changing it should be both a pleasure and an educational
  100. experience.  
  101.  
  102. Recommendation
  103.  
  104.           If you need a capable screen editor for general use,
  105. want to be able to modify it to suit your particular
  106. preferences, or would just like to experiment with a well
  107. structured C program, the Ream editor at $8.00 is outstanding
  108. value.  If you have access to a BDS-C compiler, this version
  109. will give you an editor which is easier to produce and runs
  110. a little faster.  If not, the original Small C version is quite
  111. acceptable and you get a working Small C compiler thrown in for
  112. free.
  113.